package com.gxar.quick.ar.server.base.model.works.vo.request;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.gxar.quick.ar.server.base.common.enums.WorkTransferMethodEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author linsy
 * @version 1.0
 * @created 2024/1/8 09:30
 */
@Data
@ApiModel("作品转移请求")
public class WorkTransferRequest {

    @ApiModelProperty("作品ID")
    @JSONField(name = "works_id")
    @JsonProperty("works_id")
    @NotEmpty(message = "作品id不能为空")
    private List<Long> worksId;

    @ApiModelProperty("作品转移方式，0-手动领取，1、自动赠送，默认：1")
    @JSONField(name = "work_transfer_method")
    @JsonProperty("work_transfer_method")
    private Integer workTransferMethod;

    @ApiModelProperty("是否带坑位，默认：false")
    @JSONField(name = "slot")
    @JsonProperty("slot")
    private Boolean slot;

    @ApiModelProperty("目标用户的userId")
    @JSONField(name = "user_id")
    @JsonProperty("user_id")
    private Long userId;

    @ApiModelProperty("目标用户的手机号")
    @JSONField(name = "phone")
    @JsonProperty("phone")
    private String phone;

    @ApiModelProperty("手动领取的环境。develop：开发版，trial：体验版，release：正式版。不填默认正式版")
    @JSONField(name = "env")
    @JsonProperty("env")
    private String env;

    @ApiModelProperty("手动领取的页面")
    @JSONField(name = "page")
    @JsonProperty("page")
    private String page;

    {
        slot = false;
        workTransferMethod = WorkTransferMethodEnum.AUTOMATIC.getCode();
    }

}
